662 research outputs found
From Lock Freedom to Progress Using Session Types
Inspired by Kobayashi's type system for lock freedom, we define a behavioral
type system for ensuring progress in a language of binary sessions. The key
idea is to annotate actions in session types with priorities representing the
urgency with which such actions must be performed and to verify that processes
perform such actions with the required priority. Compared to related systems
for session-based languages, the presented type system is relatively simpler
and establishes progress for a wider range of processes.Comment: In Proceedings PLACES 2013, arXiv:1312.221
Polymorphic Endpoint Types for Copyless Message Passing
We present PolySing#, a calculus that models process interaction based on
copyless message passing, in the style of Singularity OS. We equip the calculus
with a type system that accommodates polymorphic endpoint types, which are a
variant of polymorphic session types, and we show that well-typed processes are
free from faults, leaks, and communication errors. The type system is
essentially linear, although linearity alone may leave room for scenarios where
well-typed processes leak memory. We identify a condition on endpoint types
that prevents these leaks from occurring.Comment: In Proceedings ICE 2011, arXiv:1108.014
Session Types = Intersection Types + Union Types
We propose a semantically grounded theory of session types which relies on
intersection and union types. We argue that intersection and union types are
natural candidates for modeling branching points in session types and we show
that the resulting theory overcomes some important defects of related
behavioral theories. In particular, intersections and unions provide a native
solution to the problem of computing joins and meets of session types. Also,
the subtyping relation turns out to be a pre-congruence, while this is not
always the case in related behavioral theories.Comment: In Proceedings ITRS 2010, arXiv:1101.410
On the Fair Termination of Client-Server Sessions
Client-server sessions are based on a variation of the traditional
interpretation of linear logic propositions as session types in which
non-linear channels (those regulating the interaction between a pool of clients
and a single server) are typed by coexponentials instead of the usual
exponentials. Coexponentials enable the modeling of racing interactions,
whereby clients compete to interact with a single server whose internal state
(and thus the offered service) may change as the server processes requests
sequentially. In this work we present a fair termination result for
CSLL, a core calculus of client-server sessions. We design a type
system such that every well-typed term corresponds to a valid derivation in
MALL, the infinitary proof theory of linear logic with least and
greatest fixed points. We then establish a correspondence between reductions in
the calculus and principal reductions in MALL. Fair termination
in CSLL follows from cut elimination in MALL
Contract-based discovery of Web services modulo simple orchestrators
AbstractWeb services are distributed processes exposing a public description of their behavior, or contract. The availability of repositories of Web service descriptions enables interesting forms of dynamic Web service discovery, such as searching for Web services having a specified contract. This calls for a formal notion of contract equivalence satisfying two contrasting goals: being as coarse as possible so as to favor Web services reuse, and guaranteeing successful client/service interaction.We study an equivalence relation that achieves both goals under the assumption that client/service interactions may be mediated by simple orchestrators. In the framework we develop, orchestrators play the role of proofs (in the Curry–Howard sense) justifying an equivalence relation between contracts. This makes it possible to automatically synthesize orchestrators out of Web services contracts
- …